{
  "nbformat": 4,
  "nbformat_minor": 0,
  "metadata": {
    "colab": {
      "provenance": []
    },
    "kernelspec": {
      "name": "python3",
      "display_name": "Python 3"
    },
    "language_info": {
      "name": "python"
    }
  },
  "cells": [
    {
      "cell_type": "markdown",
      "source": [
        "**ECG Beat Classification with a 1D-CNN in PyTorch**"
      ],
      "metadata": {
        "id": "DSr3HhQVuXEU"
      }
    },
    {
      "cell_type": "markdown",
      "source": [
        "Download ECG Heartbeat dataset from Kaggle"
      ],
      "metadata": {
        "id": "4IvIKXuw0RiL"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "from google.colab import files\n",
        "files.upload() # Upload kaggle.json\n",
        "\n",
        "!mkdir -p ~/.kaggle\n",
        "!mv kaggle.json ~/.kaggle/\n",
        "!chmod 600 ~/.kaggle/kaggle.json\n",
        "\n",
        "!kaggle datasets download -d shayanfazeli/heartbeat\n",
        "!unzip heartbeat.zip"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 196
        },
        "id": "a8qHWjAKuxEY",
        "outputId": "fa306459-8dfd-4fbb-89f9-714de66858ac"
      },
      "execution_count": 2,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<IPython.core.display.HTML object>"
            ],
            "text/html": [
              "\n",
              "     <input type=\"file\" id=\"files-d904316b-e763-4044-b596-a33e25f691f9\" name=\"files[]\" multiple disabled\n",
              "        style=\"border:none\" />\n",
              "     <output id=\"result-d904316b-e763-4044-b596-a33e25f691f9\">\n",
              "      Upload widget is only available when the cell has been executed in the\n",
              "      current browser session. Please rerun this cell to enable.\n",
              "      </output>\n",
              "      <script>// Copyright 2017 Google LLC\n",
              "//\n",
              "// Licensed under the Apache License, Version 2.0 (the \"License\");\n",
              "// you may not use this file except in compliance with the License.\n",
              "// You may obtain a copy of the License at\n",
              "//\n",
              "//      http://www.apache.org/licenses/LICENSE-2.0\n",
              "//\n",
              "// Unless required by applicable law or agreed to in writing, software\n",
              "// distributed under the License is distributed on an \"AS IS\" BASIS,\n",
              "// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n",
              "// See the License for the specific language governing permissions and\n",
              "// limitations under the License.\n",
              "\n",
              "/**\n",
              " * @fileoverview Helpers for google.colab Python module.\n",
              " */\n",
              "(function(scope) {\n",
              "function span(text, styleAttributes = {}) {\n",
              "  const element = document.createElement('span');\n",
              "  element.textContent = text;\n",
              "  for (const key of Object.keys(styleAttributes)) {\n",
              "    element.style[key] = styleAttributes[key];\n",
              "  }\n",
              "  return element;\n",
              "}\n",
              "\n",
              "// Max number of bytes which will be uploaded at a time.\n",
              "const MAX_PAYLOAD_SIZE = 100 * 1024;\n",
              "\n",
              "function _uploadFiles(inputId, outputId) {\n",
              "  const steps = uploadFilesStep(inputId, outputId);\n",
              "  const outputElement = document.getElementById(outputId);\n",
              "  // Cache steps on the outputElement to make it available for the next call\n",
              "  // to uploadFilesContinue from Python.\n",
              "  outputElement.steps = steps;\n",
              "\n",
              "  return _uploadFilesContinue(outputId);\n",
              "}\n",
              "\n",
              "// This is roughly an async generator (not supported in the browser yet),\n",
              "// where there are multiple asynchronous steps and the Python side is going\n",
              "// to poll for completion of each step.\n",
              "// This uses a Promise to block the python side on completion of each step,\n",
              "// then passes the result of the previous step as the input to the next step.\n",
              "function _uploadFilesContinue(outputId) {\n",
              "  const outputElement = document.getElementById(outputId);\n",
              "  const steps = outputElement.steps;\n",
              "\n",
              "  const next = steps.next(outputElement.lastPromiseValue);\n",
              "  return Promise.resolve(next.value.promise).then((value) => {\n",
              "    // Cache the last promise value to make it available to the next\n",
              "    // step of the generator.\n",
              "    outputElement.lastPromiseValue = value;\n",
              "    return next.value.response;\n",
              "  });\n",
              "}\n",
              "\n",
              "/**\n",
              " * Generator function which is called between each async step of the upload\n",
              " * process.\n",
              " * @param {string} inputId Element ID of the input file picker element.\n",
              " * @param {string} outputId Element ID of the output display.\n",
              " * @return {!Iterable<!Object>} Iterable of next steps.\n",
              " */\n",
              "function* uploadFilesStep(inputId, outputId) {\n",
              "  const inputElement = document.getElementById(inputId);\n",
              "  inputElement.disabled = false;\n",
              "\n",
              "  const outputElement = document.getElementById(outputId);\n",
              "  outputElement.innerHTML = '';\n",
              "\n",
              "  const pickedPromise = new Promise((resolve) => {\n",
              "    inputElement.addEventListener('change', (e) => {\n",
              "      resolve(e.target.files);\n",
              "    });\n",
              "  });\n",
              "\n",
              "  const cancel = document.createElement('button');\n",
              "  inputElement.parentElement.appendChild(cancel);\n",
              "  cancel.textContent = 'Cancel upload';\n",
              "  const cancelPromise = new Promise((resolve) => {\n",
              "    cancel.onclick = () => {\n",
              "      resolve(null);\n",
              "    };\n",
              "  });\n",
              "\n",
              "  // Wait for the user to pick the files.\n",
              "  const files = yield {\n",
              "    promise: Promise.race([pickedPromise, cancelPromise]),\n",
              "    response: {\n",
              "      action: 'starting',\n",
              "    }\n",
              "  };\n",
              "\n",
              "  cancel.remove();\n",
              "\n",
              "  // Disable the input element since further picks are not allowed.\n",
              "  inputElement.disabled = true;\n",
              "\n",
              "  if (!files) {\n",
              "    return {\n",
              "      response: {\n",
              "        action: 'complete',\n",
              "      }\n",
              "    };\n",
              "  }\n",
              "\n",
              "  for (const file of files) {\n",
              "    const li = document.createElement('li');\n",
              "    li.append(span(file.name, {fontWeight: 'bold'}));\n",
              "    li.append(span(\n",
              "        `(${file.type || 'n/a'}) - ${file.size} bytes, ` +\n",
              "        `last modified: ${\n",
              "            file.lastModifiedDate ? file.lastModifiedDate.toLocaleDateString() :\n",
              "                                    'n/a'} - `));\n",
              "    const percent = span('0% done');\n",
              "    li.appendChild(percent);\n",
              "\n",
              "    outputElement.appendChild(li);\n",
              "\n",
              "    const fileDataPromise = new Promise((resolve) => {\n",
              "      const reader = new FileReader();\n",
              "      reader.onload = (e) => {\n",
              "        resolve(e.target.result);\n",
              "      };\n",
              "      reader.readAsArrayBuffer(file);\n",
              "    });\n",
              "    // Wait for the data to be ready.\n",
              "    let fileData = yield {\n",
              "      promise: fileDataPromise,\n",
              "      response: {\n",
              "        action: 'continue',\n",
              "      }\n",
              "    };\n",
              "\n",
              "    // Use a chunked sending to avoid message size limits. See b/62115660.\n",
              "    let position = 0;\n",
              "    do {\n",
              "      const length = Math.min(fileData.byteLength - position, MAX_PAYLOAD_SIZE);\n",
              "      const chunk = new Uint8Array(fileData, position, length);\n",
              "      position += length;\n",
              "\n",
              "      const base64 = btoa(String.fromCharCode.apply(null, chunk));\n",
              "      yield {\n",
              "        response: {\n",
              "          action: 'append',\n",
              "          file: file.name,\n",
              "          data: base64,\n",
              "        },\n",
              "      };\n",
              "\n",
              "      let percentDone = fileData.byteLength === 0 ?\n",
              "          100 :\n",
              "          Math.round((position / fileData.byteLength) * 100);\n",
              "      percent.textContent = `${percentDone}% done`;\n",
              "\n",
              "    } while (position < fileData.byteLength);\n",
              "  }\n",
              "\n",
              "  // All done.\n",
              "  yield {\n",
              "    response: {\n",
              "      action: 'complete',\n",
              "    }\n",
              "  };\n",
              "}\n",
              "\n",
              "scope.google = scope.google || {};\n",
              "scope.google.colab = scope.google.colab || {};\n",
              "scope.google.colab._files = {\n",
              "  _uploadFiles,\n",
              "  _uploadFilesContinue,\n",
              "};\n",
              "})(self);\n",
              "</script> "
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Saving kaggle.json to kaggle.json\n",
            "Dataset URL: https://www.kaggle.com/datasets/shayanfazeli/heartbeat\n",
            "License(s): unknown\n",
            "Archive:  heartbeat.zip\n",
            "  inflating: mitbih_test.csv         \n",
            "  inflating: mitbih_train.csv        \n",
            "  inflating: ptbdb_abnormal.csv      \n",
            "  inflating: ptbdb_normal.csv        \n"
          ]
        }
      ]
    },
    {
      "cell_type": "markdown",
      "source": [
        "Load data and plot a couple of examples"
      ],
      "metadata": {
        "id": "9EBiyHh70wnW"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "import pandas as pd\n",
        "import matplotlib.pyplot as plt\n",
        "\n",
        "# Load dataset\n",
        "df = pd.read_csv('mitbih_train.csv', header=None)\n",
        "\n",
        "# Sanity check dataset\n",
        "print(df.shape)\n",
        "print(df.head())\n",
        "\n",
        "# Plot a few examples\n",
        "examples = 5\n",
        "fig, axs = plt.subplots(1, examples, figsize=(10, 2))\n",
        "for i in range(examples):\n",
        "  axs[i].plot(df.iloc[i, :-1])\n",
        "  axs[i].set_title(f'Label: {int(df.iloc[i, -1])}')\n",
        "plt.show()"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 713
        },
        "id": "myNmbOtJ007p",
        "outputId": "2f24b573-61c2-4384-d976-c2e8da33fea4"
      },
      "execution_count": 10,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "(87554, 188)\n",
            "        0         1         2         3         4         5         6    \\\n",
            "0  0.977941  0.926471  0.681373  0.245098  0.154412  0.191176  0.151961   \n",
            "1  0.960114  0.863248  0.461538  0.196581  0.094017  0.125356  0.099715   \n",
            "2  1.000000  0.659459  0.186486  0.070270  0.070270  0.059459  0.056757   \n",
            "3  0.925414  0.665746  0.541436  0.276243  0.196133  0.077348  0.071823   \n",
            "4  0.967136  1.000000  0.830986  0.586854  0.356808  0.248826  0.145540   \n",
            "\n",
            "        7         8         9    ...  178  179  180  181  182  183  184  185  \\\n",
            "0  0.085784  0.058824  0.049020  ...  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0   \n",
            "1  0.088319  0.074074  0.082621  ...  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0   \n",
            "2  0.043243  0.054054  0.045946  ...  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0   \n",
            "3  0.060773  0.066298  0.058011  ...  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0   \n",
            "4  0.089202  0.117371  0.150235  ...  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0   \n",
            "\n",
            "   186  187  \n",
            "0  0.0  0.0  \n",
            "1  0.0  0.0  \n",
            "2  0.0  0.0  \n",
            "3  0.0  0.0  \n",
            "4  0.0  0.0  \n",
            "\n",
            "[5 rows x 188 columns]\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 1000x300 with 5 Axes>"
            ],
            "image/png": "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\n"
          },
          "metadata": {}
        }
      ]
    },
    {
      "cell_type": "markdown",
      "source": [
        "Preprocessing data - making the data binary between normal (0) and abnormal (all others) for easier training. Then splitting into test and train sets."
      ],
      "metadata": {
        "id": "-oDhkczV3lPG"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "import numpy as np\n",
        "from sklearn.model_selection import train_test_split\n",
        "\n",
        "# Features and labels\n",
        "X = df.iloc[:, :-1].values\n",
        "y = df.iloc[:, -1].values\n",
        "\n",
        "# Make it binary: Normal (0) vs Abnormal (all others)\n",
        "y = np.where(y == 0, 0, 1)\n",
        "\n",
        "# Split\n",
        "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)\n",
        "\n",
        "print(f\"Train size: {X_train.shape}, Test size: {X_test.shape}\")"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "sib_YqIj2Nyk",
        "outputId": "d22fa2fb-8852-4650-d241-c52016be337f"
      },
      "execution_count": 11,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Train size: (70043, 187), Test size: (17511, 187)\n"
          ]
        }
      ]
    },
    {
      "cell_type": "markdown",
      "source": [
        "Build PyTorch Dataset and Dataloader"
      ],
      "metadata": {
        "id": "iKYG2udD5hs1"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "import torch\n",
        "from torch.utils.data import Dataset, DataLoader\n",
        "\n",
        "class ECGDataset(Dataset):\n",
        "    def __init__(self, X, y):\n",
        "        self.X = torch.tensor(X, dtype=torch.float32)\n",
        "        self.y = torch.tensor(y, dtype=torch.long)\n",
        "\n",
        "    def __len__(self):\n",
        "        return len(self.y)\n",
        "\n",
        "    def __getitem__(self, idx):\n",
        "        return self.X[idx].unsqueeze(0), self.y[idx]  # Add channel dim\n",
        "\n",
        "train_ds = ECGDataset(X_train, y_train)\n",
        "test_ds = ECGDataset(X_test, y_test)\n",
        "\n",
        "train_loader = DataLoader(train_ds, batch_size=64, shuffle=True)\n",
        "test_loader = DataLoader(test_ds, batch_size=64)"
      ],
      "metadata": {
        "id": "NYHxggqC5mTi"
      },
      "execution_count": 12,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "source": [
        "Build 1D-CNN Model"
      ],
      "metadata": {
        "id": "8dwPoskx56qM"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "import torch.nn as nn\n",
        "\n",
        "class ECGClassifier(nn.Module):\n",
        "    def __init__(self):\n",
        "        super().__init__()\n",
        "        self.net = nn.Sequential(\n",
        "            nn.Conv1d(1, 16, kernel_size=5, padding=2),\n",
        "            nn.ReLU(),\n",
        "            nn.MaxPool1d(2),\n",
        "            nn.Conv1d(16, 32, kernel_size=5, padding=2),\n",
        "            nn.ReLU(),\n",
        "            nn.AdaptiveAvgPool1d(1),\n",
        "            nn.Flatten(),\n",
        "            nn.Linear(32, 2)\n",
        "        )\n",
        "\n",
        "    def forward(self, x):\n",
        "        return self.net(x)\n",
        "\n",
        "model = ECGClassifier()"
      ],
      "metadata": {
        "id": "PfjxAEdi5_0U"
      },
      "execution_count": 13,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "source": [
        "Train the model"
      ],
      "metadata": {
        "id": "gGCTlqPq6WxA"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "optimizer = torch.optim.Adam(model.parameters(), lr=1e-3)\n",
        "criterion = nn.CrossEntropyLoss()\n",
        "\n",
        "for epoch in range(5):  # small number of epochs for quick project\n",
        "    model.train()\n",
        "    total_loss = 0\n",
        "    for xb, yb in train_loader:\n",
        "        preds = model(xb)\n",
        "        loss = criterion(preds, yb)\n",
        "        optimizer.zero_grad()\n",
        "        loss.backward()\n",
        "        optimizer.step()\n",
        "        total_loss += loss.item()\n",
        "    print(f\"Epoch {epoch+1}, Loss: {total_loss/len(train_loader):.4f}\")\n"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "Z9taKcFb6Zbs",
        "outputId": "0575736c-8057-4e24-e483-58ab21da80f3"
      },
      "execution_count": 14,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Epoch 1, Loss: 0.3977\n",
            "Epoch 2, Loss: 0.2882\n",
            "Epoch 3, Loss: 0.2735\n",
            "Epoch 4, Loss: 0.2659\n",
            "Epoch 5, Loss: 0.2591\n"
          ]
        }
      ]
    },
    {
      "cell_type": "markdown",
      "source": [
        "Evaluate the model"
      ],
      "metadata": {
        "id": "z19TNY9t7ZOg"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "from sklearn.metrics import confusion_matrix, roc_auc_score, roc_curve\n",
        "\n",
        "model.eval()\n",
        "y_true, y_scores = [], []\n",
        "\n",
        "with torch.no_grad():\n",
        "    for xb, yb in test_loader:\n",
        "        preds = model(xb)\n",
        "        probs = preds.softmax(dim=1)[:, 1]\n",
        "        y_true.extend(yb.tolist())\n",
        "        y_scores.extend(probs.tolist())\n",
        "\n",
        "# Metrics\n",
        "auc = roc_auc_score(y_true, y_scores)\n",
        "print(f\"ROC-AUC: {auc:.3f}\")\n",
        "\n",
        "# Confusion matrix\n",
        "y_pred = [1 if p > 0.5 else 0 for p in y_scores]\n",
        "tn, fp, fn, tp = confusion_matrix(y_true, y_pred).ravel()\n",
        "sensitivity = tp / (tp + fn)\n",
        "specificity = tn / (tn + fp)\n",
        "print(f\"Sensitivity: {sensitivity:.3f}, Specificity: {specificity:.3f}\")\n",
        "\n",
        "# Plot ROC curve\n",
        "fpr, tpr, _ = roc_curve(y_true, y_scores)\n",
        "plt.plot(fpr, tpr)\n",
        "plt.xlabel('False Positive Rate')\n",
        "plt.ylabel('True Positive Rate')\n",
        "plt.title('ROC Curve')\n",
        "plt.grid()\n",
        "plt.show()\n"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 507
        },
        "id": "a-quP3Rw7ezs",
        "outputId": "4d15ccb9-e1f7-4a62-c744-7f43d0a33b82"
      },
      "execution_count": 15,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "ROC-AUC: 0.894\n",
            "Sensitivity: 0.633, Specificity: 0.975\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 640x480 with 1 Axes>"
            ],
            "image/png": "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\n"
          },
          "metadata": {}
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [],
      "metadata": {
        "id": "5WRAPSG37gaZ"
      },
      "execution_count": null,
      "outputs": []
    }
  ]
}